from flask import request

from . import passport_blue

#功能：获取图片验证码
from ... import redis_store, constants
from ...utils.captcha.captcha import captcha


@passport_blue.route("/image_code")
def image_code():
    #调用generate_captcha获取图片验证码编号、验证码(二进制)
    _,text,image_data= captcha.generate_captcha()

    #获取前端传递的参数
    #cur_id来源于前端generateImageCode，generateImageCode在main.js写有
    cur_id=request.args.get("cur_id")
    pre_id=request.args.get("pre_id")
    #将图片验证码的值保存到redis
    #参数1：key，参数2：value，参数3：有效期
    redis_store.set("image_code:%s"%cur_id,text,constants.IMAGE_CODE_REDIS_EXPIRES )

    #判断是否有上一次的验证码
    if pre_id:
        redis_store.delete("image_code:%s"%pre_id)
    return image_data